From cee6848f3b5571b29776cb03a417a72ba242c61e Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Sat, 12 Jan 2008 11:26:04 +0000 Subject: [PATCH] x86: Fix PV PIT handler after previous changeset. Signed-off-by: Keir Fraser --- xen/arch/x86/hvm/i8254.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/xen/arch/x86/hvm/i8254.c b/xen/arch/x86/hvm/i8254.c index c11d50e6d9..01c78f7799 100644 --- a/xen/arch/x86/hvm/i8254.c +++ b/xen/arch/x86/hvm/i8254.c @@ -601,14 +601,20 @@ int pv_pit_handler(int port, int data, int write) .dir = write ? IOREQ_WRITE : IOREQ_READ, .data = data }; - uint32_t val = data; if ( (current->domain->domain_id == 0) && dom0_pit_access(&ioreq) ) + { /* nothing to do */; - else if ( port == 0x61 ) - handle_speaker_io(ioreq.dir, port, 1, &val); + } else - handle_pit_io(ioreq.dir, port, 1, &val); + { + uint32_t val = data; + if ( port == 0x61 ) + handle_speaker_io(ioreq.dir, port, 1, &val); + else + handle_pit_io(ioreq.dir, port, 1, &val); + ioreq.data = val; + } return !write ? ioreq.data : 0; } -- 2.30.2